package co.edu.usbcali.adt.lists;

public interface List<T> {
	
	/**
	 * Returns an int that represents the size of List
	 * @return Size of List
	 */
	public int size();
	
	/**
	 * Returns a boolean that indicate if the List do not contain elements
	 * @return True when List is empty
	 */
	public boolean isEmpty();
	
	/**
	 * Append element info at end of List and returns true if 
	 * @param info Object to be inserted at end of List
	 * @return True 
	 */
	public boolean add(T info);
	
	/**
	 * Insert element info at end of List and returns true if 
	 * @param info Object to be inserted at end of List
	 * @return True 
	 */
	public boolean add(int pos,T info);
	public boolean addAll(List<T> list);
	public T get(int pos);
	public T remove(int pos);

}
